System and method of recording and sharing mobile application activities

ABSTRACT

A method of recording activity at a wireless device is provided. The method includes receiving a record command, determining a user activity at the wireless device, and determining available memory at the wireless device. The method further includes recording the user activity to create a device recording at least partially based on the user activity and the available memory.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.12/435,143 filed May 4, 2009, entitled “SYSTEM AND METHOD OF RECORDINGAND SHARING MOBILE APPLICATION ACTIVITIES”, which is by the inventors ofthe subject application, is assigned to the assignee hereof and isincorporated herein by reference in its entirety.

BACKGROUND

The present disclosure generally relates to the operation of wirelessdevices, and more particularly, to systems and methods of recording useractivities at wireless devices.

Wireless devices, for example, cell phones, portable data assistants,text devices, lap top computers, etc., are ubiquitous. Wireless devicesmay be used to play games, send text messages, browse the Internet, makephone calls, and for many other activities. Sometimes, a user may have aproblem with a particular application and the user may have difficultywhen trying to explain the particular problem to a support person.Further, a user may simply want to share a game highlight with anotheruser at a remote wireless device.

Accordingly, there is a need for a system and methods, to address theabove shortcomings.

SUMMARY

The following presents a simplified summary of one or more aspects inorder to provide a basic understanding of such aspects. This summary isnot an extensive overview of all contemplated aspects, and is intendedto neither identify key or critical elements of all aspects nordelineate the scope of any or all aspects. Its sole purpose is topresent some concepts of one or more aspects in a simplified form as aprelude to the more detailed description that is presented later.

A method of recording activity at a wireless device is provided,according to one aspect. The method may include receiving a recordcommand, determining a user activity at the wireless device, anddetermining available memory at the wireless device. The method mayfurther include recording the user activity to create a device recordingat least partially based on the user activity and the available memory.

In another aspect, a wireless device is provided. The wireless devicecan include a processor and a memory accessible to the processor. Thememory may include at least one instruction for receiving a recordcommand, at least one instruction for determining user activity at thewireless device, and at least one instruction for determining availablememory at the wireless device. The memory may further include at leastone instruction for recording the user activity to create a devicerecording at least partially based on the user activity and theavailable memory.

In yet another aspect, a wireless device is provided, according to yetanother aspect. The wireless device may include means for receiving arecord command, means for determining user activity at the wirelessdevice, and means for determining available memory at the wirelessdevice. The wireless device may further include means for recording theuser activity to create a device recording at least partially based onthe user activity and the available memory.

In still another aspect, a computer program product is provided,according to still another aspect. The computer program product mayinclude a computer-readable medium. The computer-readable medium mayinclude at least one instruction for receiving a record command, atleast one instruction for determining user activity at the wirelessdevice, and at least one instruction for determining available memory atthe wireless device. The computer-readable medium may further include atleast one instruction for recording the user activity to create a devicerecording at least partially based on the user activity and theavailable memory.

To the accomplishment of the foregoing and related ends, the one or moreaspects comprise the features hereinafter fully described andparticularly pointed out in the claims. The following description andthe annexed drawings set forth in detail certain illustrative featuresof the one or more aspects. These features are indicative, however, ofbut a few of the various ways in which the principles of various aspectsmay be employed, and this description is intended to include all suchaspects and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed aspects will hereinafter be described in conjunction withthe appended drawings, provided to illustrate and not to limit thedisclosed aspects. In the figures, like reference numerals refer to likeparts throughout the various views unless otherwise indicated.

FIG. 1 is a diagram of a system for recording mobile applicationactivities, according to one aspect;

FIG. 2 is a diagram of a wireless device, according to one aspect;

FIG. 3 is a flowchart illustrating a first portion method of recordingand sharing mobile application activities, according to one aspect; and

FIG. 4 is a flowchart illustrating a second portion method of recordingand sharing mobile application activities, according to one aspect.

DETAILED DESCRIPTION

Various aspects of the disclosure are described below. It should beapparent that the teachings herein may be embodied in a wide variety offorms and that any specific structure, function, or both being disclosedherein is merely representative. Based on the teachings herein oneskilled in the art should appreciate that an aspect disclosed herein maybe implemented independently of any other aspects and that two or moreof these aspects may be combined in various ways. For example, anapparatus may be implemented or a method may be practiced using anynumber of the aspects set forth herein. In addition, such an apparatusmay be implemented or such a method may be practiced using otherstructure, functionality, or structure and functionality in addition toor other than one or more of the aspects set forth herein. Furthermore,an aspect may comprise at least one element of a claim.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of one or more aspects. It may be evident, however, thatsuch aspect(s) may be practiced without these specific details. In otherinstances, well-known structures and devices are shown in block diagramform in order to facilitate describing one or more aspects.

In this description, the term “application” may also include fileshaving executable content, such as object code, scripts, byte code,markup language files, and patches, etc. In addition, an “application”referred to herein, may also include files that are not executable innature, such as documents that may need to be opened or other data filesthat need to be accessed.

The term “content” may also include files having executable content,such as object code, scripts, byte code, markup language files, andpatches. In addition, an “content” referred to herein, may also includefiles that are not executable in nature, such as documents that may needto be opened or other data files that need to be accessed.

As used in this application, the terms “component,” “module,” “system”and the like are intended to include a computer-related entity, such asbut not limited to hardware, firmware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a computing device and the computing device can be a component. Oneor more components can reside within a process and/or thread ofexecution and a component may be localized on one computer and/ordistributed between two or more computers. In addition, these componentscan execute from various computer readable media having various datastructures stored thereon. The components may communicate by way oflocal and/or remote processes such as in accordance with a signal havingone or more data packets, such as data from one component interactingwith another component in a local system, distributed system, and/oracross a network such as the Internet with other systems by way of thesignal.

Furthermore, various aspects are described herein in connection with aterminal, which can be a wired terminal or a wireless terminal. Aterminal can also be called a system, device, subscriber unit,subscriber station, mobile station, mobile, mobile device, remotestation, remote terminal, access terminal, user terminal, terminal,communication device, user agent, user device, or user equipment (UE). Awireless terminal may be a cellular telephone, a satellite phone, acordless telephone, a Session Initiation Protocol (SIP) phone, awireless local loop (WLL) station, a personal digital assistant (PDA), ahandheld device having wireless connection capability, a computingdevice, or other processing devices connected to a wireless modem.Moreover, various aspects are described herein in connection with a basestation. A base station may be utilized for communicating with wirelessterminal(s) and may also be referred to as an access point, a Node B, orsome other terminology.

Moreover, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom the context, the phrase “X employs A or B” is intended to mean anyof the natural inclusive permutations. That is, the phrase “X employs Aor B” is satisfied by any of the following instances: X employs A; Xemploys B; or X employs both A and B. In addition, the articles “a” and“an” as used in this application and the appended claims shouldgenerally be construed to mean “one or more” unless specified otherwiseor clear from the context to be directed to a singular form.

Additionally, in the subject description, the word “exemplary” is usedto mean serving as an example, instance, or illustration. Any aspect ordesign described herein as “exemplary” is not necessarily to beconstrued as preferred or advantageous over other aspects or designs.Rather, use of the word exemplary is intended to present concepts in aconcrete fashion.

The techniques described herein may be used for various wirelesscommunication systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and othersystems. The terms “system” and “network” are often usedinterchangeably. A CDMA system may implement a radio technology such asUniversal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includesWideband-CDMA (W-CDMA) and other variants of CDMA. Further, cdma2000covers IS-2000, IS-95, and IS-856 standards. A TDMA system may implementa radio technology such as Global System for Mobile Communications(GSM). An OFDMA system may implement a radio technology such as EvolvedUTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE802.16 (WiMAX), IEEE 802.20, Flash-OFDM®, etc. UTRA and E-UTRA are partof Universal Mobile Telecommunication System (UMTS). 3GPP Long TermEvolution (LTE) is a release of UMTS that uses E-UTRA, which employsOFDMA on the downlink and SC-FDMA on the uplink. UTRA, E-UTRA, UMTS,LTE, and GSM are described in documents from an organization named “3rdGeneration Partnership Project” (3GPP). Additionally, cdma2000 and UMBare described in documents from an organization named “3rd GenerationPartnership Project 2” (3GPP2). Further, such wireless communicationsystems may additionally include peer-to-peer (e.g., mobile-to-mobile)ad hoc network systems often using unpaired unlicensed spectrums, 802.xxwireless LAN, BLUETOOTH and any other short- or long-range, wirelesscommunication techniques.

Various aspects or features will be presented in terms of systems thatmay include a number of devices, components, modules, and the like. Itis to be understood and appreciated that the various systems may includeadditional devices, components, modules, etc. and/or may not include allof the devices, components, modules etc. discussed in connection withthe figures. A combination of these approaches may also be used.

FIG. 1 shows an exemplary communication system 100 through which aplurality of wireless devices may communicate with each other accordingto one or more of the methods described herein. The system 100 mayinclude a first wireless device 102 that may communicate with a wirelessdata network 104 via a wireless communication channel 106. The system100 may also include a server 108 that operates to provide services tothe wireless device 102 and other entities in communication with thenetwork 104. The server 108 may include a processor 120 and a memory122. One or more of the method steps described herein may be stored inthe memory 122. Further, the processor 120 may act as a means forexecuting the one or more method steps stored in the memory 122.

The server 108 may be coupled to the network 104 by link 110, which maybe any type of wired or wireless link. For example, in one aspect, thewireless device 102 may be a wireless telephone, and the server 108 maybe part of a nationwide telecommunications network that providesapplications, multimedia content, user profiles, current conditions, ora combination thereof to the first wireless device 102.

A second wireless device 112 may also be coupled to the network 104. Thesecond wireless device 112 may be located remotely from the firstwireless device 102, but the second wireless device 112 may be accessedby, and in communication with, the first wireless device 102 via thewireless network 104. FIG. 1 also shows a database 114 that may beconnected to the server 108. The database 114 may include a first devicerecording 116 and a second device recording 118. It is to be understoodthat the database 114 may include more than two device recordings 116and 118.

During operation of the system according to one aspect, the useractivity at the first wireless device 102 may be recorded by the firstwireless device 102 in order to create the first device recording 116.Thereafter, the first device recording 116 may be transmitted to theserver 108, the second wireless device 112, or a combination thereof.The server 108 may then store the first device recording 116 in theassociated database 114. Further, the user activity at the secondwireless device 112 may be recorded by the second wireless device 112 inorder to create the second device recording 118. Then, the second devicerecording 118 may be transmitted to the server 108, the first wirelessdevice 102, or a combination thereof. The server 108 may then store thesecond device recording 118 in the database 114.

Referring to FIG. 2, according to one aspect, an exemplary, non-limitingaspect of a wireless device is shown and is generally designated 220. Asshown, the wireless device 220 includes an on-chip system 222 thatincludes a digital signal processor 224 and an analog signal processor226 that are coupled together. As illustrated in FIG. 2, a displaycontroller 228 and a touchscreen controller 230 are coupled to thedigital signal processor 224. In turn, a touchscreen display 232external to the on-chip system 222 is coupled to the display controller228 and the touchscreen controller 230.

FIG. 2 further indicates that a video encoder 234, e.g., a phasealternating line (PAL) encoder, a sequential couleur a memoire (SECAM)encoder, or a national television system(s) committee (NTSC) encoder, iscoupled to the digital signal processor 224. Further, a video amplifier236 is coupled to the video encoder 234 and the touchscreen display 232.Also, a video port 238 is coupled to the video amplifier 236. Asdepicted in FIG. 2, a universal serial bus (USB) controller 240 iscoupled to the digital signal processor 224. Also, a USB port 242 iscoupled to the USB controller 240. A memory 244 and a subscriberidentity module (SIM) card 246 may also be coupled to the digital signalprocessor 224. Further, as shown in FIG. 2, a digital camera 248 may becoupled to the digital signal processor 224. In an exemplary aspect, thedigital camera 248 is a charge-coupled device (CCD) camera or acomplementary metal-oxide semiconductor (CMOS) camera.

As further illustrated in FIG. 2, a stereo audio CODEC 250 may becoupled to the analog signal processor 226. Moreover, an audio amplifier252 may coupled to the stereo audio CODEC 250. In an exemplary aspect, afirst stereo speaker 254 and a second stereo speaker 256 are coupled tothe audio amplifier 252. FIG. 2 shows that a microphone amplifier 258may be also coupled to the stereo audio CODEC 250. Additionally, amicrophone 260 may be coupled to the microphone amplifier 258. In aparticular aspect, a frequency modulation (FM) radio tuner 262 may becoupled to the stereo audio CODEC 250. An amplitude modulation (AM)radio tuner (not shown) may also be included in the on-chip system 222.Also, an FM antenna 264 is coupled to the FM radio tuner 262. Further,stereo headphones 266 may be coupled to the stereo audio CODEC 250.

FIG. 2 further indicates that a radio frequency (RF) transceiver 268 maybe coupled to the analog signal processor 226. An RF switch 270 may becoupled to the RF transceiver 268 and an RF antenna 272. As shown inFIG. 2, a keypad 274 may be coupled to the analog signal processor 226.Additionally, a mono headset with a microphone 276 may be coupled to theanalog signal processor 226. Further, a vibrator device 278 may becoupled to the analog signal processor 226. FIG. 2 further shows that apower supply 280 may be coupled to the on-chip system 222. In aparticular aspect, the power supply 280 is a direct current (DC) powersupply that provides power to the various components of the wirelessdevice 220 that require power. Further, in a particular aspect, thepower supply is a rechargeable DC battery or a DC power supply that isderived from an alternating current (AC) to DC transformer that isconnected to an AC power source. In the case of a rechargeable DCbattery, a location may push an invitation to accept wireless powercharging and the appropriate settings.

FIG. 2 further shows that the wireless device 220 may also include anetwork card 282 that may be used to access a data network, e.g., alocal area network, a personal area network, or any other network. Thenetwork card 282 may be a Bluetooth network card, a WiFi network card, apersonal area network (PAN) card, a personal area networkultra-low-power technology (PeANUT) network card, or any other networkcard well known in the art. Further, the network card 282 may beincorporated into a chip, i.e., the network card 282 may be a fullsolution in a chip, and may not be a separate network card 282. Thewireless device 220 may also include a gyroscope 284, a pedometer 286, acompass 288 and an altimeter 290. In a particular aspect, the compass288 may be a digital compass such as a magnetometer. The gyroscope 284,the pedometer 286, the compass 288, and the altimeter 290 may be used tomonitor movement of the wireless device 220 in order to establish thelocation of the wireless device 220, e.g., within a building or otherlocation. In other words, the gyroscope 284, the pedometer 286, thecompass 288, and the altimeter 290 may provide a means for locating thewireless device.

In a particular aspect, the wireless device 220 may further include aglobal positioning system (GPS) module 292 that may be couple coupled tothe DSP 224 or the analog signal processor 226. The GPS module 292 andat least one of the processors 224, 226 may provide a means for locatingthe wireless device 220 either alone or in conjunction with networkinformation available to the wireless device 220, e.g., using a tableavailable to the GPS module 292 via a wireless network.

FIG. 2 further indicates that the wireless device 220 may include anaccelerometer 294 that may be coupled to the DSP 224. The accelerometer294 may be used to determine direction of motion of the wireless device220 and may further be used to determine a location of the wirelessdevice 220 with more accuracy within a location. In other words, theaccelerometer 294 may also serve as a means for locating the wirelessdevice 220 within a building at least partially based on a previouslynoted location of the wireless device 220. The accelerometer 294 mayalso be used to determine a rate of motion either within a small space,e.g., moving the wireless device 220 from a pocket to an ear, or withina large space, e.g., walking, running, ascending stairs, descendingstairs, or a combination thereof. Further, the accelerometer 294 inconjunction with the gyroscope 284 may serve as a means for determiningan orientation of the wireless device 220.

FIG. 2 also shows that the wireless device 220 may include a recordingmodule 296. As described herein, the recording module 296 may be used torecord various information concerning the operation of the wirelessdevice 220. The recording module 296 may also record various informationregarding the user of various applications within the wireless device220. The recording module 296 may store one or more device recordings298 within the memory 244 of the wireless device.

As depicted in FIG. 2, the touchscreen display 232, the video port 238,the USB port 242, the camera 248, the first stereo speaker 254, thesecond stereo speaker 256, the microphone 260, the FM antenna 264, thestereo headphones 266, the RF switch 270, the RF antenna 272, the keypad274, the mono headset 276, the vibrator 278, and the power supply 280are external to the on-chip system 222.

Referring now to FIG. 3, a method of recording activity at a wirelessdevice is shown and is generally designated 300, according to oneaspect. The method 300 commences at block 302 in which a record commandmay be received at the wireless device. The record command may be avoice command received from a user. For example, the user may issue avoice command at any time, e.g., while playing a game at the wirelessdevice. The recording may end, or otherwise time-out, after apredetermined time period, e.g., thirty (30) seconds, and then, timeout. In one example, the recording may end when the memory is full. Inanother example, the recording may end after another voice command isreceived. Also, the recording may end when the user activity ends, e.g.,when a game ends.

In another aspect, the record command may be automatic or always on. Insuch a case, an application, i.e., a recording module, may be recordinguser activity at all times while simultaneously deleting all videoexcept the last Nth minutes in order to save space. N may be selected bythe user or preset within the wireless device during configuration atthe factory. Depending on the memory capabilities of the wirelessdevice, the user activity being recorded, and the resolution of therecording, i.e., frames per second, N may be in a range of ten (10)seconds to ten (10) minutes.

In still another aspect, the record command may be received from aremote device, e.g., a remote server, another wireless device locatedremotely from the wireless device, or a combination thereof. Forexample, a recording application may initiate the device recording basedon a command issued remotely via a network connection. Such remoteinitiation of the device recording may be useful from remote diagnosisof the wireless device and trouble shooting of the wireless device.

In yet another aspect, the record command may be initiated by a locationtrigger. For example, when a user enters a particular location or leavesa particular region, the recording may be initiated or terminated. Thelocation trigger may also be used to trigger transmission of therecording. Such a scenario may be useful when a wireless device isoperated in a sensitive area and for security reasons, it may benecessary to view user activity at the wireless device, e.g., photostaken, text messages sent, emails sent, etc.

In another aspect, the record command may be initiated by a velocitytrigger. In other words, when a user is traveling at a certain speed,the recording may be initiated or terminated. This may be useful whentroubleshooting the wireless device while the wireless device is inmotion, for tracking the wireless device while it is being used to playa real-time, motion based game, for monitoring the wireless device whileit is being used for location determination, or for a combinationthereof.

In another aspect, the record command may be initiated by the use ofcertain applications. When the use of the application terminates, therecording may also be terminated. Such a case may be useful formulti-player augmented reality games.

Further, the record command may be initiated or ceased through anexplicit command build into the user interface (UI) of a particularapplication. For example, an options menu associated with a particularapplication may include a command to start recording or stop recording.

Also, certain network conditions may trigger or terminate a recording.This may aid in troubleshooting. For example, if a network isexperiencing high traffic, device activity may be recorded in order toaid diagnostic testing of the wireless device, e.g., measuring packetdelivery rate, jitter, latency, etc.

Returning to the description of the method 300, at block 304, thewireless device, or a recording module within the wireless device, maydetermine user activity. The user activity may include the use of aparticular application, sending and receiving text messages, sendingemails, receiving emails, browsing the Internet, playing a game,movement of the user and the associated device, etc. At block 306, thewireless device, or the recording module within the wireless device, maydetermine the available memory within the wireless device.

Moving to block 308, the recording module may record the user activityat the wireless device based on the type of user activity and theavailable memory. For example, at block 310, the recording module mayrecord the user activity at a high rate, e.g., real time. In oneexample, real time may be a rate of approximately thirty (30) frames persecond. Real time recording may be used when a user uses an applicationthat visually changes quite rapidly in real time, e.g., a game orsimilar application. At block 312, the recording module may record theuser activity at a medium rate, e.g., approximately ten (10) frames persecond, according to one example. The recording module may record theuser activity at the medium rate when memory is limited or theapplication being used does not have rapid visual changes during use.Further, at block 314, the recording module may record the user activityat a low rate, e.g., approximately two (2) frames per second, accordingto one example. The low rate may be used when the application in useincludes few visual changes or when the rate of visual changes is quitelow. Such an application may include the use of a phone address book. Itmay be appreciated that higher resolution recordings may be made until alow memory or low bandwidth condition occurs. After a low memory or lowbandwidth conditions occurs, low resolution recordings may be made.

Continuing to decision step 316, the recording module may determinewhether a stop recording trigger, or command is received. The stoprecording trigger may be a voice command from a user. Also, the stoprecording trigger may be a button press from user. In another aspect,the stop recording trigger may be automatic after a predetermined timeperiod has elapsed. In yet another aspect, the stop recording triggermay coincide with the closing of the application in user or thecessation of use the particular application being recording. If the stoprecording command is not received, the method may return to block 308and continue as described herein. If the stop recording command isreceived, the method may proceed to block 318 and the recording may bestopped or otherwise terminated. Thereafter, the method 300 may proceedto decision step 320 of FIG. 4.

At decision step 320, the wireless device, or the recording module, maydetermine whether the user desires to share the recording. The wirelessdevice, or the recording module, may make this determination by queryingthe user via the display of the wireless device. Alternatively, thewireless device may include a button, or a soft key, that when selectedcauses the wireless device, or the recording module, to initiate theprocess through which the recording may be shared. If the user desiresto share the recording, the method may continue to block 322 and thewireless device, or the recording module, may transmit the recording ofthe device activity to a remote device, e.g., another wireless device, acomputer, a server, some other electronic device, or a combinationthereof. Next, the method may move to decision step 324. Returning todecision step 320, if it is determined to not share the recording, themethod may proceed directly to decision step 324.

At decision step 324, the wireless device, or the recording module, maydetermine whether the user desires to display the recording at thewireless device. The wireless device, or the recording module, may makethis determination by querying the user via the display of the wirelessdevice. Also, the wireless device may include a button, or a soft key,that when selected causes the wireless device, or the recording module,to initiate the process through which the recording may be displayed atthe wireless device. If the user desires to display the recording, themethod may move to block 326 and the recording of the device activitymay be displayed at the wireless device. Thereafter, the method may moveto decision step 328. Returning to decision step 324, if it is determineto not display the recording of the device activity, the method mayproceed directly to decision step 328.

At decision step 328, the wireless device, or the recording module, maydetermine whether the user desires to save the recording of the deviceactivity at the wireless device. The wireless device, or the recordingmodule, may make this determination by querying the user via the displayof the wireless device. Also, the wireless device may include a button,or a soft key, that when selected causes the wireless device, or therecording module, to initiate the process through which the recordingmay be saved, e.g., locally or remotely. If the user does not wish tosave the recording, the method may continue to block 330 and thewireless device, or the recording module, may delete the recording ofthe device activity from the local memory. Then, the method may end atstate 332.

Returning to decision step 328, if the user desires to save therecording of the device activity, the method may move to block 334 andthe recording may be labeled appropriately. For example, a recording maybe marked with a time stamp, a date stamp, location coordinates, devicemanufacturer name, device model name, service provider name, memory sizeof the recording, application name, application developer name, or anycombination thereof. Such data may be overlaid on a video stream sinceit may change over time. Then, at decision step 336, the wirelessdevice, or the recording module, may determine whether the user desiresto save the recording of the device activity locally or remotely. Theuser may to decide to save the recording of the device activity remotelydue to memory constraints. Alternatively, the wireless device, or therecording module, may automatically determine to save the recording ofthe device activity remotely when available memory is limited.

If it is determined to store the recording of the device activitylocally, the method may continue to block 338 and the recording may bestored locally at the wireless device. In a particular aspect, therecording is saved in conjunction with the labeling applied to therecording as described herein. After the recording is stored locally,the method may end at state 332.

Returning to decision step 336, if it is determined to store therecording of the device activity remotely, the method may proceed toblock 340 and the recording of the device activity may be transmitted toa remote storage device, e.g., a remote server having a databaseconfigured to receive such recordings. Thereafter, the method maycontinue to block 330 and the recording may be deleted from local memorywithin the wireless device. Then, the method may end at state 332.

With the system and method described herein various types of useractivity on a wireless device may be recorded. For example, displayrecordings may be made. In other words, anything shown at the displaymay be recorded. Further, key clicks and button press sequences may berecorded. Also, camera and video feeds from a camera sensor in thewireless device may be recorded. In another aspect, position or locationinformation may be recorded. A GPS module, or other position determiningmodule, may track the location of the wireless device and the recordingmodule within the wireless device may record the location information asthe wireless device is moved around by the user.

In yet another aspect, received signal strength information may berecorded. The received signal strength may be recorded in conjunctionwith the position information. Such information may be transmitted to acarrier. The carrier may use signal strength information and theposition information to determine low signal strength areas and may beused to optimize a wireless network. In another aspect, air interfaceinformation may be recorded. Such air interfaces the following: CDMA 1x,EVDO, GSM, EDGE, WCDMA, HSDPA, etc. Information related to these airinterfaces may include packet delivery rate (PDR), latency, jitter,packet air rate, etc.

The recording module may also record information regarding theapplications on the wireless device. For example, the amount of activetime for an application may be recorded. Moreover, the frequency of usefor particular applications may be recorded. Also, errors associatedwith particular applications may be recorded. This information may betransmitted to the manufacturer of the wireless device, applicationdevelopers, or a combination thereof. As such, this information may beused to optimize particular applications and to optimize whichapplications get loaded onto a wireless device during manufacturing.

In another aspect, the recording module may record other informationrelevant to a wireless device. This other information may include volumesettings, vibrate settings, voice recognition settings, headset usage,ringtone settings, etc. Further, the recording module may record batteryinformation, e.g., battery usage rate, battery strength, etc. An audiotrack may also be recorded in addition to display information. The audiotrack may be part of an application's operation, e.g., the sounds that avideo game plays. Further, the audio track may be a recording of auser's voice while the user is providing verbal commentary associatedwith the recorded activity. For example, if the user is regarding asegment of a video game, the user may want to record a taunt to a fellowplayer or some other verbal message.

The various types of information recorded by the recording module may beused for several different applications. For example, game informationmay be recorded and used to share video game highlights. The recordedgame information may be posted to web servers for viewing by others ortransmitted to other wireless devices. This information may help othervideo game users learn tricks and tips for a particular game. Also,others may view compelling game accomplishments, tricks, stunts, etc.Additionally, the recorded information may be captured and transmittedin real-time to other user's devices. Multiple users may be engaged inan augmented reality game in which a real world is mapped onto thewireless devices. Users may populate the real world and the virtualworld. The view and movement of each mobile device may be captured andtransmitted to the other users. As such, the users may see each other'sdevice and game screen.

The recorded position information may be used for tracking movement ofthe wireless device and the associated user. As the user's positionchanges, a real-time map at the user's wireless device, or at anotherwireless device, may track the user's movement. This movement may berecorded so that the user, or someone else, may review the user's travelpath.

The recorded information may also be used for trouble-shooting anddiagnosing problems with a wireless device. The user may recordparticular activity at the wireless device that is problematic. Therecording may be transmitted to a support person. The support person mayview the recording of the user's activities and use that information tohelp the user with an application, the wireless device, or a combinationthereof. Further, the recorded information may be used to measure devicecharacteristics, to conduct remote usability testing, and monitor userbehavior for sensitive or business-critical applications. The supportperson may send the record trigger to record the user's interactions orthe user's interactions may be viewed in real-time. The user'sinteractions may be recorded while the user is actually using thewireless device and associated applications and these recordings may beused for usability testing of the wireless device in real-world,real-time scenarios, e.g., while the user is driving, walking, etc.

The recorded information may also be useful for adaptive userinterfaces. By monitoring user interactions with the wireless device,certain attributes of the user interface may learn from the user'sbehavior and change accordingly. For example, if a particular spellingmistake is always made in a text entry application, the wireless devicecould assist the user and correct the recurring spelling mistake.

Moreover, the recorded information may be used to optimize dataservices. Recorded information may be transmitted to a service providerand the service provider may monitor the user interactions with thewireless device. Based on the user's interactions, or many users'interactions, the service provider may change data services to improveusability, discovery of new services, and customer purchase behavior.For example, if users tend to click past a banner advertisementpresented via a wireless device, a web service provider may make thebanner advertisement more salient or more effectively positioned in amore effective way to attract users.

With the system and methods described herein, the recording of wirelessdevice activity is enabled. Device recordings may be transmitted toother wireless devices and shared with other users. Also, devicerecordings may be transmitted to a central location, e.g., a server,where other users may view various device recordings of interest. Also,device recordings may be transmitted to support personal and may be usedto diagnose problems with a wireless device, a particular applicationtherein, or a combination of both.

It may be appreciated that a computer program, or programs, may comprisethe method steps described previously. Further, the computer programsmay be executed within a wireless device, a network device (e.g., a peernetwork device, an infrastructure network device, or a combinationthereof), and a microprocessor connected to a network device, or acombination thereof in order to control the operation of the wirelessdevice. The computer program may be stored on a computer-readablemedium, i.e., a memory, and packaged as a computer program product.

In one or more exemplary aspects, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that may be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia may comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that may be used to carry or store desired program code inthe form of instructions or data structures and that may be accessed bya computer. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk, and blu-raydisc where disks usually reproduce data magnetically, while discsreproduce data optically with lasers. Combinations of the above shouldalso be included within the scope of computer-readable media.

While the foregoing disclosure discusses illustrative aspects and/oraspects, it should be noted that various changes and modifications couldbe made herein without departing from the scope of the described aspectsas defined by the appended claims. Furthermore, although elements of thedescribed aspects may be described or claimed in the singular, theplural is contemplated unless limitation to the singular is explicitlystated. Additionally, all or a portion of any aspect may be utilizedwith all or a portion of any other aspect, unless stated otherwise.

What is claimed is:
 1. A method of recording data at a wireless device,comprising: receiving a record command that instructs the wirelessdevice to initiate a device recording while the wireless device isperforming an application-specific activity for a given applicationconfigured for execution at the wireless device; selecting aframe-capture rate for the device recording that is based upon a visualchange rate of visual data for presentation on the wireless device inassociation with the application-specific activity; generating thedevice recording by recording, in response to the record command, mediaoutput data including device screen capture data that is rendered at thewireless device for presentation thereon at the selected frame-capturerate; and sharing the device screen capture data with a social network.2. The method of claim 1, wherein the device recording is generated byfurther recording diagnostic information related to the givenapplication.
 3. The method of claim 2, wherein the device recording isgenerated by further recording supplemental diagnostic informationrelated to the wireless device.
 4. The method of claim 3, wherein thesupplemental diagnostic information includes packet delivery rate, ajitter, latency measured by the wireless device, battery information, abattery usage rate and/or battery strength.
 5. The method of claim 2,wherein the diagnostic information includes an amount of active time forthe given application.
 6. The method of claim 2, wherein the diagnosticinformation includes a frequency of use for the given application. 7.The method of claim 2, wherein the diagnostic information includes anerror associated with the given application.
 8. The method of claim 1,wherein the record command instructs the wireless device to initiate thedevice recording while the wireless device is executing a video game,wherein the device screen capture data captures an operator'sparticipation in the video game via the wireless device, and wherein thesocial network is a video game community.
 9. The method of claim 8,wherein the sharing transmits the device screen capture data to thesocial network in real-time as the device recording is generated. 10.The method of claim 8, wherein the device recording further records anaudio track that includes one or more sounds that the video game playsand also a recording of the operator's voice that provides a verbalcommentary of the operator's participation in the video game.
 11. Themethod of claim 1, wherein the device recording is generated by furtherrecording user-configurable device settings information.
 12. The methodof claim 11, wherein the user-configurable device settings informationincludes volume settings, vibrate settings, voice recognition settings,headset usage and/or ringtone settings.
 13. The method of claim 1,wherein the device recording is generated by recording audio input by auser in association with the device screen capture data.
 14. The methodof claim 1, wherein the media output data further includes audio outputby the given application.
 15. The method of claim 14, wherein the givenapplication is a game.
 16. The method of claim 1, wherein the devicerecording is generated by recording user input data.
 17. The method ofclaim 16, wherein the user input data includes a key click and/or abutton press sequence.
 18. The method of claim 1, wherein an old portionof the device recording is deleted as a new portion of the devicerecording is made part of the device recording.
 19. The method of claim18, wherein a length of a retained portion of the device recordingvaries based on a level of precision at which the device recording iscurrently being recorded and an available memory at the wireless device.20. The method of claim 1, further comprising: receiving a stop recordcommand that instructs the wireless device to stop recording the devicerecording; and stopping the recording of the device recording inresponse to the stop record command.
 21. The method of claim 20, whereinthe stop record command corresponds to user input from a user of thewireless device.
 22. The method of claim 20, wherein the stop recordcommand is received in response to the given application being closed onthe wireless device.
 23. The method of claim 20, wherein the stop recordcommand is generated at the wireless device in response to a thresholdperiod of time elapsing from receipt of the record command.
 24. A methodof operating a device that is remote from a wireless device, comprising:transmitting, to the wireless device, a record command that instructsthe wireless device to initiate a device recording while the wirelessdevice is performing an application-specific activity for a givenapplication configured for execution at the wireless device, wherein therecord command instructs the wireless device to generate the devicerecording by selecting a frame-capture rate for the device recordingthat is based upon a visual change rate of visual data for presentationon the wireless device in association with the application-specificactivity and recording, in response to the record command, media outputdata including device screen capture data that is rendered at thewireless device for presentation thereon at the selected frame-capturerate, and to share the device screen capture data with a social network.25. The method of claim 24, wherein the record command instructs thewireless device to generate the device recording by further recordingdiagnostic information related to the given application.
 26. The methodof claim 25, wherein the record command instructs the wireless device togenerate the device recording by further recording supplementaldiagnostic information related to the wireless device.
 27. The method ofclaim 26, wherein the supplemental diagnostic information includespacket delivery rate, a jitter, latency measured by the wireless device,battery information, a battery usage rate and/or battery strength. 28.The method of claim 24, wherein the record command instructs thewireless device to generate the device recording by further recordinguser-configurable device settings information.
 29. The method of claim28, wherein the user-configurable device settings information includesvolume settings, vibrate settings, voice recognition settings, headsetusage and/or ringtone settings.
 30. The method of claim 24, wherein thedevice recording is generated by recording audio input by a user inassociation with the device screen capture data.
 31. The method of claim24, wherein the media output data further includes audio output by thegiven application.
 32. The method of claim 31, wherein the givenapplication is a game.
 33. The method of claim 24, wherein the recordcommand instructs the wireless device to generate the device recordingby recording user input data.
 34. The method of claim 33, wherein theuser input data includes a key click and/or a button press sequence. 35.The method of claim 24, wherein the record command instructs thewireless device to generate the device recording by deleting an oldportion of the device recording as a new portion of the device recordingis made part of the device recording.
 36. The method of claim 35,wherein a length of a retained portion of the device recording variesbased on a level of precision at which the device recording is currentlybeing recorded and an available memory at the wireless device.
 37. Themethod of claim 24, wherein the remote device corresponds to anotherwireless device, a computer or electronic device, a server or acombination thereof.
 38. The method of claim 24, further comprising:receiving at least a portion of the device recording from the wirelessdevice.
 39. A wireless device configured to record data, comprising:means for receiving a record command that instructs the wireless deviceto initiate a device recording while the wireless device is performingan application-specific activity for a given application configured forexecution at the wireless device; means for selecting a frame-capturerate for the device recording that is based upon a visual change rate ofvisual data for presentation on the wireless device in association withthe application-specific activity; means for generating the devicerecording by recording, in response to the record command, media outputdata including device screen capture data that is rendered at thewireless device for presentation thereon at the selected frame-capturerate; and means for sharing the device screen capture data with a socialnetwork.
 40. A device that is remote from a wireless device, comprising:means for generating a record command that instructs the wireless deviceto initiate a device recording, means for transmitting the recordcommand to the wireless device while the wireless device is performingan application-specific activity for a given application configured forexecution at the wireless device, wherein the record command instructsthe wireless device to generate the device recording by selecting aframe-capture rate for the device recording that is based upon a visualchange rate of visual data for presentation on the wireless device inassociation with the application-specific activity and recording, inresponse to the record command, media output data including devicescreen capture data that is rendered at the wireless device forpresentation thereon at the selected frame-capture rate, and to sharethe device screen capture data with a social network.
 41. A wirelessdevice configured to record data, comprising: a memory; and a processorcoupled to the memory and configured to: receive a record command thatinstructs the wireless device to initiate a device recording while thewireless device is performing an application-specific activity for agiven application configured for execution at the wireless device;select a frame-capture rate for the device recording that is based upona visual change rate of visual data for presentation on the wirelessdevice in association with the application-specific activity generatethe device recording by recording, in response to the record command,media output data including device screen capture data that is renderedat the wireless device for presentation thereon at the selectedframe-capture rate; and share the device screen capture data with asocial network.
 42. A device that is remote from a wireless device,comprising: a memory; and a processor coupled to the memory andconfigured to: transmit, to the wireless device, a record command thatinstructs the wireless device to initiate a device recording while thewireless device is performing an application-specific activity for agiven application configured for execution at the wireless device,wherein the record command instructs the wireless device to generate thedevice recording by selecting a frame-capture rate for the devicerecording that is based upon a visual change rate of visual data forpresentation on the wireless device in association with theapplication-specific activity and recording, in response to the recordcommand, media output data including device screen capture data that isrendered at the wireless device for presentation thereon at the selectedframe-capture rate, and to share the device screen capture data with asocial network.
 43. A non-transitory computer-readable medium containinginstructions stored thereon, which, when executed by a wireless deviceconfigured to record data, cause the wireless device to performoperations, the instructions comprising: at least one instruction tocause the wireless device to receive a record command that instructs thewireless device to initiate a device recording while the wireless deviceis performing an application-specific activity for a given applicationconfigured for execution at the wireless device; at least oneinstruction to cause the wireless device to select a frame-capture ratefor the device recording that is based upon a visual change rate ofvisual data for presentation on the wireless device in association withthe application-specific activity; at least one instruction to cause thewireless device to generate the device recording by recording, inresponse to the record command, media output data including devicescreen capture data that is rendered at the wireless device forpresentation thereon at the selected frame-capture rate; and at leastone instruction to cause the wireless device to share the device screencapture data with a social network.
 44. A non-transitorycomputer-readable medium containing instructions stored thereon, which,when executed by a device that is remote from a wireless device, causethe device to perform operations, the instructions comprising: at leastone instruction to cause the device to transmit, to the wireless device,a record command that instructs the wireless device to initiate a devicerecording while the wireless device is performing anapplication-specific activity for a given application configured forexecution at the wireless device, wherein the record command instructsthe wireless device to generate the device recording by selecting aframe-capture rate for the device recording that is based upon a visualchange rate of visual data for presentation on the wireless device inassociation with the application-specific activity and recording, inresponse to the record command, media output data including devicescreen capture data that is rendered at the wireless device forpresentation thereon at the selected frame-capture rate, and to sharethe device screen capture data with a social network.